﻿using Microsoft.Extensions.DependencyInjection;
using DataBaseConnect.App;
using DataBaseConnect.Repositories;
using DataBaseConnect.IRepositories;

namespace CoreMVC.Jurisdiction.Manage
{
    public static class Injection
    {
        public static void InjectionMethod(IServiceCollection serviceCollection)
        {
            serviceCollection.AddScoped<IUserRepository, UserRepository>();
            serviceCollection.AddScoped<IUserAppService, UserAppService>();
            serviceCollection.AddScoped<IMenuRepository, MenuRepository>();
            serviceCollection.AddScoped<IMenuAppService, MenuAppService>();
            serviceCollection.AddScoped<IRoleAppService, RoleAppService>();
            serviceCollection.AddScoped<IRoleRepository, RoleRepository>();
            serviceCollection.AddScoped<IButtonService, ButtonService>();
            serviceCollection.AddScoped<IButtonRepository, ButtonRepository>();
            serviceCollection.AddScoped<IMessageAppService, MessageAppService>();
            serviceCollection.AddScoped<IMessageRepository, MessageRepository>();
            serviceCollection.AddScoped<IFormRepository, FormRepository>();
            serviceCollection.AddScoped<IFormAppService, FormAppService>();
            serviceCollection.AddScoped<IFlowRepository, FlowRepository>();
            serviceCollection.AddScoped<IFlowAppService, FlowAppService>();
            serviceCollection.AddScoped<IDepartmentRepository, DepartmentRepository>();
            serviceCollection.AddScoped<IDepartmentAppService, DepartmentAppService>();
            serviceCollection.AddScoped<ILeaveRepository, LeaveRepository>();
            serviceCollection.AddScoped<ILeaveAppService, LeaveAppService>();
        }

    }
}
